#ifndef BINEXPR_H
#define BINEXPR_H
#include <string>
#include "Expr.h"
class Visitor;
class BinExpr : public Expr
{
protected:
    const std::string m_opstr;
    Expr* m_lhs;
    Expr* m_rhs;
public:
    BinExpr(const std::string opstr, Expr* lhs, Expr* rhs);
    virtual ~BinExpr();

    std::string Getopstr();
    Expr* Getlhs();
    Expr* Getrhs();
    virtual void Accept(Visitor* v) = 0;
};

#endif // BINEXPR_H
